Remove named pipe is not required
authorJeroen van der Heijden <jeroen@transceptor.technology>
Fri, 24 Aug 2018 11:04:49 +0000 (13:04 +0200)
committerJeroen van der Heijden <jeroen@transceptor.technology>
Fri, 24 Aug 2018 11:04:49 +0000 (13:04 +0200)
src/siri/net/pipe.c
src/siri/net/stream.c
test/test_pipe_support.py

index 5f5fc3461c028c565a8f8fdc38c665e921ac0607..0965209413b66353c1750d803ed38865a3913c1e 100644 (file)
@@ -4,6 +4,7 @@
 #include <siri/net/pipe.h>
 #include <siri/siri.h>
 #include <xpath/xpath.h>
+#include <logger/logger.h>
 
 #define PIPE_NAME_BUF_SZ SIRI_PATH_MAX
 
@@ -28,13 +29,14 @@ char * sirinet_pipe_name(uv_pipe_t * client)
 }
 
 /*
- * Cleanup socket (pipe) file.
+ * Cleanup socket (pipe) file. (Unused)
  */
 void sirinet_pipe_unlink(uv_pipe_t * client)
 {
     char * pipe_name = sirinet_pipe_name(client);
     if (pipe_name != NULL)
     {
+        log_debug("Unlink named pipe: '%s'", pipe_name);
         uv_fs_t * req = malloc(sizeof(uv_fs_t));
         if (req != NULL)
         {
index 18235ed4401a20ad36ddaf3de706d64415e2353f..ae1c644a88077f9cc71f21aafb14174ef40715be 100644 (file)
@@ -256,6 +256,7 @@ void sirinet__stream_free(uv_stream_t * uvclient)
 
     switch (client->tp)
     {
+    case STREAM_PIPE_CLIENT:
     case STREAM_TCP_CLIENT:  /* listens to client connections  */
         if (client->origin != NULL)
         {
@@ -282,14 +283,6 @@ void sirinet__stream_free(uv_stream_t * uvclient)
         siri_admin_client_free((siri_admin_client_t *) client->origin);
         siri.client = NULL;
         break;
-    case STREAM_PIPE_CLIENT:
-        if (client->origin != NULL)
-        {
-            siridb_user_t * user = client->origin;
-            siridb_user_decref(user);
-        }
-        sirinet_pipe_unlink((uv_pipe_t *) uvclient);
-        break;
     }
     free(client->buf);
     free(client);
index c556be4141c439d768a42cbc5e5d46b97077750d..bde86f63e4ae65f5850f197886a29afab77f921c 100644 (file)
@@ -48,27 +48,28 @@ class TestPipeSupport(TestBase):
     @default_test_setup(1, pipe_name=PIPE_NAME)
     async def run(self):
 
-        pipe_client = SiriDBAsyncUnixConnection(PIPE_NAME)
+        pipe_client0 = SiriDBAsyncUnixConnection(PIPE_NAME)
+        pipe_client1 = SiriDBAsyncUnixConnection(PIPE_NAME)
 
-        await pipe_client.connect('iris', 'siri', self.db.dbname)
+        await pipe_client0.connect('iris', 'siri', self.db.dbname)
 
         self.assertEqual(
-            await pipe_client.insert(DATA),
+            await pipe_client0.insert(DATA),
             {'success_msg': 'Successfully inserted 10 point(s).'})
 
         self.assertAlmostEqual(
-            await pipe_client.query('select * from "series num_float"'),
+            await pipe_client0.query('select * from "series num_float"'),
             {'series num_float': DATA['series num_float']})
 
         self.assertEqual(
-            await pipe_client.query('select * from "series num_integer"'),
+            await pipe_client0.query('select * from "series num_integer"'),
             {'series num_integer': DATA['series num_integer']})
 
         self.assertEqual(
-            await pipe_client.query('select * from "series_log"'),
+            await pipe_client0.query('select * from "series_log"'),
             {'series_log': DATA['series_log']})
 
-        pipe_client.close()
+        pipe_client0.close()
 
         # return False